/**
 * 描述：常用字段校验方法
 * tongyali
 * 20210126*/
 
 /* 正则表达式常量 */
 
 /* 校验汉字 */ 
 const chineseReg = /^[\u4e00-\u9fa5]+$/
 
 /* 校验数字或大小写字母*/ 
 const numberAndAlphabetReg = /^[a-zA-Z0-9]+$/;
 
 /* 校验手机号 */ 
 const phoneReg = /^[1](([3][0-9])|([4][5,7])|([5][0-9])|([7][0,6,7,8])|([8][0-9]))\d{8}$/;
 
  /* 校验邮箱 */ 
 const emailReg = /^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-z]{2,}$/;
 
  /* 校验正整数 */ 
 const positiveIntReg = /^[1-9]\d*$/;
 
 /* 校验最多保留两位小数 */ 
 const  keepTwoDecimalReg = /^\d+(\.\d{0,2})?$/;
 
 
 
 /**
  * 判空 
  * 参数：
  * str：校验字段
  * msg：校验不通过时的提示信息
 */ 
function isEmpty(str,msg){
	let showMsg = msg;
	if(!showMsg){
		showMsg =  "不能输入空字符！";
	}
	
	if(!str || str === null || str === undefined || str.length == 0){
		return showMsg
	}else{
		return 1;
	}
}

 /** 
  * 校验汉字 
  * 参数：
  * str：校验字段
  * msg：校验不通过时的提示信息
 */ 
 function validateChinese(str,msg){
	 let showMsg = msg;
	 if(!showMsg){
		showMsg =  "只能输入中文字符！";
	 }
	 if(isEmpty(str) == 1){
		 if(!chineseReg.test(str)){
		 	return showMsg;
		 }else{
		 	return 1;  
		 } 
	 }else {
		return isEmpty(str);
	 }
 }
 
 /* 校验数字+大小写字母 */ 
 function validateNumAndAlphabet(str,msg){
 	 let showMsg = msg;
 	 if(!showMsg){
 		showMsg =  "只能输入数字和大小写字母！";
 	 }
 	 if(isEmpty(str) == 1){
 		 if(!numberAndAlphabetReg.test(str)){
 		 	return showMsg;
 		 }else{
 		 	return 1;  
 		 } 
 	 }else {
 		return isEmpty(str);
 	 }
 }
 
 /* 校验手机号：以1开头，长度为11位的数字字符串 */ 
 function validatePhone(str,emptyMsg,msg){
	let showMsg = msg;
	if(!showMsg){
	 	showMsg =  "手机号格式错误";
	}
	if(isEmpty(str) == 1){
	 	if(!phoneReg.test(str)){
	 		return showMsg;
	 	}else{
	 		return 1;  
	 	} 
	}else {
	 	return isEmpty(str,emptyMsg);
	}
 }
 /* 校验邮箱 */ 
 function validateEmail(str,msg){
 	let showMsg = msg;
 	if(!showMsg){
 	 	showMsg =  "邮箱格式错误";
 	}
 	if(isEmpty(str) == 1){
 	 	if(!emailReg.test(str)){
 	 		return showMsg;
 	 	}else{
 	 		return 1;  
 	 	} 
 	}else {
 	 	return isEmpty(str);
 	}
 }
 /* 校验正整数 */ 
 function validatePositiveInt(str,msg){
 	let showMsg = msg;
 	if(!showMsg){
 	 	showMsg =  "请输入正整数！";
 	}
 	if(isEmpty(str) == 1){
 	 	if(!positiveIntReg.test(str)){
 	 		return showMsg;
 	 	}else{
 	 		return 1;  
 	 	} 
 	}else {
 	 	return isEmpty(str);
 	}
 }
 /* 校验最多保留两位小数 */ 
 function validateTwoDecimal(str,msg){
 	let showMsg = msg;
 	if(!showMsg){
 	 	showMsg =  "最多保留两位小数！";
 	}
 	if(isEmpty(str) == 1){
 	 	if(!keepTwoDecimalReg.test(str)){
 	 		return showMsg;
 	 	}else{
 	 		return 1;  
 	 	} 
 	}else {
 	 	return isEmpty(str);
 	}
 }
 /* 校验不少于n位字符 */ 
 function validateLength(str,len,emptyMsg,msg){
	 let showMsg = msg;
	 if(!showMsg){
	  	showMsg =  "不能少于"+len+"位字符！";
	 }
	 if(isEmpty(str) == 1){
	  	if(str.length < len){
	  		return showMsg;	 
	  	}else{
			return 1;
		}
	 }else {
	  	return isEmpty(str,emptyMsg);
	 }
	
 } 
 /* 校验n-m位字符 */ 
 function validateLengthRange(str,n_len,m_len,emptyMsg,msg){
 	 let showMsg = msg;
 	 if(!showMsg){
 	  	showMsg =  "字符长度位于"+n_len+"至"+m_len+"位字符！";
 	 }
 	 if(isEmpty(str) == 1){
 	  	if(str.length < n_len || str.length > m_len){
 	  		return showMsg;	 
 	  	}else{
			return 1;
		}
 	 }else {
 	  	return isEmpty(str,emptyMsg);
 	 }
 } 
 
 export{
	 isEmpty,
	 validateChinese,
	 validateNumAndAlphabet,
	 validatePhone,
	 validateEmail,
	 validatePositiveInt,
	 validateTwoDecimal,
	 validateLength,
	 validateLengthRange
 }